package com.sxkiler.demo.medium;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.*;
import com.sxkiler.demo.model.*;

/**
reverse-words-in-a-string=翻转字符串里的单词
<p>给定一个字符串，逐个翻转字符串中的每个单词。</p>

<p><strong>说明：</strong></p>

<ul>
	<li>无空格字符构成一个 <strong>单词</strong> 。</li>
	<li>输入字符串可以在前面或者后面包含多余的空格，但是反转后的字符不能包括。</li>
	<li>如果两个单词间有多余的空格，将反转后单词间的空格减少到只含一个。</li>
</ul>

<p>&nbsp;</p>

<p><strong>示例 1：</strong></p>

<pre><strong>输入：</strong>"<code>the sky is blue</code>"
<strong>输出：</strong>"<code>blue is sky the</code>"
</pre>

<p><strong>示例 2：</strong></p>

<pre><strong>输入：</strong>" &nbsp;hello world! &nbsp;"
<strong>输出：</strong>"world! hello"
<strong>解释：</strong>输入字符串可以在前面或者后面包含多余的空格，但是反转后的字符不能包括。
</pre>

<p><strong>示例 3：</strong></p>

<pre><strong>输入：</strong>"a good &nbsp; example"
<strong>输出：</strong>"example good a"
<strong>解释：</strong>如果两个单词间有多余的空格，将反转后单词间的空格减少到只含一个。
</pre>

<p><strong>示例 4：</strong></p>

<pre><strong>输入：</strong>s = "  Bob    Loves  Alice   "
<strong>输出：</strong>"Alice Loves Bob"
</pre>

<p><strong>示例 5：</strong></p>

<pre><strong>输入：</strong>s = "Alice does not even like bob"
<strong>输出：</strong>"bob like even not does Alice"
</pre>

<p>&nbsp;</p>

<p><strong>提示：</strong></p>

<ul>
	<li><code>1 &lt;= s.length &lt;= 10<sup>4</sup></code></li>
	<li><code>s</code> 包含英文大小写字母、数字和空格 <code>' '</code></li>
	<li><code>s</code> 中 <strong>至少存在一个</strong> 单词</li>
</ul>

<ul>
</ul>

<p>&nbsp;</p>

<p><strong>进阶：</strong></p>

<ul>
	<li>请尝试使用&nbsp;<em>O</em>(1) 额外空间复杂度的原地解法。</li>
</ul>

 */
public class reverseWords {
    

    class Solution {
        public String reverseWords(String param0) {
            return null;
        }
    }

    @Test
    public void test(){
        Solution solution = new Solution();
        /**
        "the sky is blue"
        */
        //int [] num1 = new int[]{1,3};
        //int [] num2 = new int[]{2};
        //Assertions.assertEquals(solution.{{questionName}}(num1,num2),2);
    }
}

